/**
 * 
 */
package com.googlecode.pcapj;

/**
 * This interface provides information about a socket.
 */
public interface SocketInfo {
	/**
	 * Gets the socket family from the socket address.
	 * @return the socket family value that is defined in {@link SocketFamily} class.
	 * @see SocketFamily 
	 */
	public int getSocketFamily();
	/**
	 * Gets the address of the socket.
	 * @return the {@link SocketAddress} object.
	 */
	public SocketAddress getAddress();
	/**
	 * Gets the netmask address of the socket.
	 * @return the {@link SocketAddress} object or null if a netmask is not set.  
	 */
	public SocketAddress getNetmask();
	/**
	 * Gets the broadcast address of the socket.
	 * @return the {@link SocketAddress} object or null if a broadcast address is not set.
	 */
	public SocketAddress getBroadcast();
	/**
	 * Gets the destination address of the socket.
	 * @return the {@link SocketAddress} object or null if a destination address is not set.
	 */
	public SocketAddress getDestination(); 
}
